﻿using System;
using System.Collections.Generic;
using System.Text;

namespace IllustratedCsharp7_ch18Generic_Interface
{
    interface IMyIfc<T>     //泛型接口
    {
        T ReturnIt(T inValue);
    }
    class Simple<S> : IMyIfc<S> //泛型类实现了泛型接口
    {
        public S ReturnIt(S inValue)
        {
            return inValue;
        }
    }
    class GenericInterface
    {
        static void _Main()
        {
            /*
             实例化两个泛型类，一个是int类型，一个是string类型
             */
            var trivInt = new Simple<int>();  
            var trivString = new Simple<string>();

            Console.WriteLine($"{trivInt.ReturnIt(5)}");
            Console.WriteLine($"{trivString.ReturnIt("HI there.")}");
        }
    }
}
